package com.wy.service.wy;

import com.wy.bean.HouseholdBean;
import com.wy.model.sys.Households;
import com.wy.model.sys.UserEntity;

import java.util.List;

public interface HouseholdService {


	/**
	 * 获取住户列表
	 * @return
	 */
	List<HouseholdBean> householdList(Integer pageSize, Integer start, Integer residenceId, Integer buildingId, Integer houseId, String householdName,String authStatus,String mobile,String plateNum,List<String> rids);

	/**
	 * 根据房屋id和身份证号码获取用户
	 * @param houseId
	 * @param credentialNo
	 * @return
	 */
	List<HouseholdBean> getHouseholdByHidCreNo(Integer houseId,String credentialNo);
	/**
	 * 获取住户列表的总量
	 * 
	 * @return
	 */
	Integer householdSize(Integer pageSize, Integer start, Integer residenceId,Integer buildingId, Integer houseId,String householdName,String authStatus,String mobile,String plateNum,List<String> rids);

	/**
	 * 新建住户信息
	 * 
	 * @param householdEntity
	 */
	String insertHousehold(HouseholdBean householdEntity);


	HouseholdBean registerHousehold(Integer userId,Integer houseId,String householdName,String gender,String birthDate,String address,
		String peopleType,String company,String department,String identityType,String credentialType,
		String credentialNo,String idCardImage1,String idCardImage2,String facePic,String ext3,String ext4,
		String nation,String familyMembers,String carInfos,String ext5,String houseOwnerName,
								 String houseOwnerCredentialNo,String houseOwnerMobile,Integer currentUserId,String loginMobile,String memberRelation);
	/**
	 * 修改住户信息
	 * 
	 * @param householdEntity
	 */
	void updateHousehold(HouseholdBean householdEntity);

	/**
	 * 删除住户信息
	 * 
	 * @param hid
	 */
	void deleteHouseholds(List<String> hid);

	/**
	 * 根据用户id获取业主，房屋，小区信息
	 * @param uid
	 * @return
	 */
	List<HouseholdBean> getHouseHoldByUserId(Integer uid);

	/**
	 * 批量认证住户信息
	 * @param id
	 */
	void authHousehoulds(List<String> id);

	/**
	 * 获取所有住户
	 */
	List<HouseholdBean> getHouseholdList(List<String> rids);

	/**
	 * 根据用户id和房屋id，查询住户信息
	 * @param uid
	 * @param houseId
	 * @return
	 */
	Households getHouseholdByUidAndHid(Integer uid,Integer houseId);

	void insertBatch(List<HouseholdBean> list);

	void insertBatch1(List<HouseholdBean> list);

	/**
	 *
	 * @param mobile
	 * @return
	 */
	List<HouseholdBean> getHouseholdByMobile(String mobile);

	List<Households> getHouseholdByIds(List<String> ids);

	void updateByPrimaryKeySelective(HouseholdBean household);

	/**
	 * 临时清洗图片数据
	 * @param imgPath
	 * @param targetPath
	 * @return
	 */
	public int[] moveHousePic(String imgPath,String targetPath);

	/**
	 * 根据房屋id获取住户信息
	 * @param hid
	 * @return
	 */
	public List<HouseholdBean> getHouseholdByHid(Integer hid);

}
